/**
 * @filename:SysRolePermissionService 2025-05-27
 * @project starhub-schema  V1.0
 */
package com.starhub.engine.sys.role.service;

import com.starhub.common.sys.user.LoginUser;
import com.starhub.engine.sys.role.entity.SysRolePermission;
import com.starhub.engine.sys.role.request.SysRolePermissionBsRequest;

import java.util.List;
import java.util.Map;
/**
 * @Description:(用户角色关联表设置服务层)
 * @version: V1.0
 * @author: luosw
 * 
 */
public interface SysRolePermissionService {

    /**
    * 新增
    * @param user
    * @param request
    * @return
    */
    List<String> add(LoginUser user, SysRolePermissionBsRequest request);

    /**
    * 更新
    * @param user
    * @param rolePermission
    * @return
    */
    SysRolePermission update(LoginUser user, SysRolePermission rolePermission);

    /**
    * 基本信息获取
    * @param user
    * @param id
    * @return
    */
    SysRolePermission getInfo(LoginUser user, Long id);


    /**
    * (批量)删除，同时支持单条或者批量,此方法为逻辑删除
    * @param user
    * @param ids
    */
    void deleteByType(LoginUser user, String ids,int deleteType);

   /**
   * 根据id删除，此方法为真实删除
   * @param user
   * @param ids
   */
    void deleteRecord(LoginUser user, String ids);

    /**
    * 列表查询
    * @param user
    * @param params
    */
    List<SysRolePermission> getList(LoginUser user, Map<String , Object> params);

 }
